#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>

void handerSig(int sig)//会把signal函数的第一个参数传过来
{
    std::cout << "获得了一个信号: " << sig << std::endl;
    exit(13);
}

int main()
{
    for (int i = 1; i < 32; i++)
        signal(i, handerSig);
    // for (int i = 1; i < 32; i++)
    // {
    //     sleep(1);
    //     if (i == 9 || i == 19)
    //         continue;
    //     raise(i);
    // }
    int cnt = 0;
    while(true)
    {
        std::cout << "Ciallo!~ " << cnt++ << " pid: " << getpid() <<  std::endl;
        //abort();
        // 除零异常
        // int a = 10;
        // a /= 0;
        // 野指针
        // int *p = nullptr;
        // *p = 100; 
        sleep(1);
    }
    return 0;
}